Automated termination analysis for logic programs with cut

نویسندگان

  • Peter Schneider-Kamp
  • Jürgen Giesl
  • Thomas Ströder
  • Alexander Serebrenik
  • René Thiemann
چکیده

Termination is an important and well-studied property for logic programs. However, almost all approaches for automated termination analysis focus on definite logic programs, whereas real-world Prolog programs typically use the cut operator. We introduce a novel pre-processing method which automatically transforms Prolog programs into logic programs without cuts, where termination of the cut-free program implies termination of the original program. Hence after this pre-processing, any technique for proving termination of definite logic programs can be applied. We implemented this pre-processing in our termination prover AProVE and evaluated it successfully with extensive experiments.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Termination Analysis of Logic Programs with Cut Using Dependency Triples∗

In very recent work, we introduced a non-termination preserving transformation from logic programs with cut to definite logic programs. In this paper we extend the transformation such that logic programs with cut are transformed into dependency triple problems instead of definite logic programs. By the implementation of our new method and extensive experiments, we show that the power of automat...

متن کامل

Dependency Triples for Improving Termination Analysis of Logic Programs with Cut

In very recent work, we introduced a non-termination preserving transformation from logic programs with cut to definite logic programs. While that approach allows us to prove termination of a large class of logic programs with cut automatically, in several cases the transformation results in a non-terminating definite logic program. In this paper we extend the transformation such that logic pro...

متن کامل

Automated Termination Analysis for Logic Programs by Term Rewriting

There are two kinds of approaches for termination analysis of logic programs: “transformational” and “direct” ones. Direct approaches prove termination directly on the basis of the logic program. Transformational approaches transform a logic program into a term rewrite system (TRS) and then analyze termination of the resulting TRS instead. Thus, transformational approaches make all methods prev...

متن کامل

Automated Termination Analysis: From Term Rewriting to Programming Languages

Termination is a crucial property of programs. Therefore, techniques to analyze termination automatically are highly important for program verification. Traditionally, techniques for automated termination analysis were mainly studied for declarative programming paradigms such as logic programming and term rewriting. However, in the last years, several powerful techniques and tools have been dev...

متن کامل

Termination of Logic Programs Using Semantic Unification

We introduce a transformation of well-moded logic programs into constructor systems, a subclass of term rewrite systems, such that left-termination of the logic program follows from termination of the derived constructor system. Thereafter, we present a new technique to prove termination of constructor systems. In the technique semantic uni-cation is used. Thus, surprisingly, semantic uniicatio...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • TPLP

دوره 10  شماره 

صفحات  -

تاریخ انتشار 2010